Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix for _schema_version overriding non-object entity data #137

Merged
merged 1 commit into from
Nov 6, 2024

Conversation

istreeter
Copy link
Contributor

We recommend that Snowplow entities should be JSON objects only. But technically it is possible for them to be something else, e.g. a JSON array.

Since version 3.2.0 we started adding the _schema_version field to context entities, see #132. But this accidentally clobbered the original data if the entity was not an object. This commit fixes the problem by only adding _schema_version if the entity is an object.

We recommend that Snowplow entities should be JSON *objects* only. But
technically it is possible for them to be something else, e.g. a JSON
array.

Since version 3.2.0 we started adding the `_schema_version` field to
context entities, see #132. But this accidentally clobbered the original
data if the entity was not an object. This commit fixes the problem by
only adding `_schema_version` if the entity is an object.
@istreeter istreeter merged commit eb28d9a into develop Nov 6, 2024
2 checks passed
@istreeter istreeter deleted the fix-non-object-entity branch November 6, 2024 09:45
istreeter added a commit that referenced this pull request Nov 6, 2024
We recommend that Snowplow entities should be JSON *objects* only. But
technically it is possible for them to be something else, e.g. a JSON
array.

Since version 3.2.0 we started adding the `_schema_version` field to
context entities, see #132. But this accidentally clobbered the original
data if the entity was not an object. This commit fixes the problem by
only adding `_schema_version` if the entity is an object.
istreeter added a commit to snowplow-incubator/common-streams that referenced this pull request Nov 7, 2024
We recommend that Snowplow entities should be JSON *objects* only. But
technically it is possible for them to be something else, e.g. a JSON
array.

Before this fix, we accidentally erased the original value if a context
was not a JSON object.

The fix was implented in snowplow/snowplow-scala-analytics-sdk#137 and
is imported here.
istreeter added a commit to snowplow-incubator/common-streams that referenced this pull request Nov 7, 2024
We recommend that Snowplow entities should be JSON *objects* only. But
technically it is possible for them to be something else, e.g. a JSON
array.

Before this fix, we accidentally erased the original value if a context
was not a JSON object. The bug only affected unstructed destinations,
e.g. the Snowflake loader.

The fix was implented in snowplow/snowplow-scala-analytics-sdk#137 and
is imported here.
istreeter added a commit to snowplow-incubator/common-streams that referenced this pull request Nov 7, 2024
We recommend that Snowplow entities should be JSON *objects* only. But
technically it is possible for them to be something else, e.g. a JSON
array.

Before this fix, we accidentally erased the original value if a context
was not a JSON object. The bug only affected unstructed destinations,
e.g. the Snowflake loader.

The fix was implented in snowplow/snowplow-scala-analytics-sdk#137 and
is imported here.
istreeter added a commit to snowplow-incubator/common-streams that referenced this pull request Nov 8, 2024
We recommend that Snowplow entities should be JSON *objects* only. But
technically it is possible for them to be something else, e.g. a JSON
array.

Before this fix, we accidentally erased the original value if a context
was not a JSON object. The bug only affected unstructed destinations,
e.g. the Snowflake loader.

The fix was implented in snowplow/snowplow-scala-analytics-sdk#137 and
is imported here.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants